#ifndef __BASE_UDAY_WRAPPER_H__
#define __BASE_UDAY_WRAPPER_H__

#include "../common/Runnable.hpp"


class Uday : public Runnable {
  void *M;
  int64_t pT, pM, pN, pP, version;

public:
  Uday(void *a, int64_t T, int64_t M, int64_t N, int64_t P, int v)
    : M(a), pT(T), pM(M), pN(N), pP(P), version(v) {}
  void operator()();
  
protected:
  virtual void print(ostream &os) {
    os << "C version " << version << 
      ((version % 2 == 0) ? ": OMP parall skewed" : 
       ": sequential no skew") << std::endl;
  }
};

#endif // __BASE_UDAY_WRAPPER_H__
